**man-страницы** (от англ. *manual* — руководство) — справочные страницы, которые предоставляются почти всеми *nix-дистрибутивами, включая Arch Linux. Для их отображения служит команда `man`.

man-страницы изначально подразумевались как самодостаточные документы. Они ограничены в возможностях ссылаться друг на друга, в отличие от поддерживающих гиперссылки [info-файлов](https://en.wikipedia.org/wiki/Info_(Unix) — попытки GNU создать замену традиционному формату man-страниц.

## Contents

*   [1 Доступ к man-страницам](#.D0.94.D0.BE.D1.81.D1.82.D1.83.D0.BF_.D0.BA_man-.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D0.B0.D0.BC)
*   [2 Формат страниц](#.D0.A4.D0.BE.D1.80.D0.BC.D0.B0.D1.82_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86)
*   [3 Поиск по страницам](#.D0.9F.D0.BE.D0.B8.D1.81.D0.BA_.D0.BF.D0.BE_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D0.B0.D0.BC)
*   [4 Цветные man-страницы](#.D0.A6.D0.B2.D0.B5.D1.82.D0.BD.D1.8B.D0.B5_man-.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D1.8B)
    *   [4.1 С помощью less (рекомендуется)](#.D0.A1_.D0.BF.D0.BE.D0.BC.D0.BE.D1.89.D1.8C.D1.8E_less_.28.D1.80.D0.B5.D0.BA.D0.BE.D0.BC.D0.B5.D0.BD.D0.B4.D1.83.D0.B5.D1.82.D1.81.D1.8F.29)
    *   [4.2 С помощью most (не рекомендуется)](#.D0.A1_.D0.BF.D0.BE.D0.BC.D0.BE.D1.89.D1.8C.D1.8E_most_.28.D0.BD.D0.B5_.D1.80.D0.B5.D0.BA.D0.BE.D0.BC.D0.B5.D0.BD.D0.B4.D1.83.D0.B5.D1.82.D1.81.D1.8F.29)
    *   [4.3 Цветные страницы в xterm или rxvt-unicode](#.D0.A6.D0.B2.D0.B5.D1.82.D0.BD.D1.8B.D0.B5_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D1.8B_.D0.B2_xterm_.D0.B8.D0.BB.D0.B8_rxvt-unicode)
        *   [4.3.1 xterm](#xterm)
        *   [4.3.2 rxvt-unicode](#rxvt-unicode)
*   [5 Просмотр локальных страниц](#.D0.9F.D1.80.D0.BE.D1.81.D0.BC.D0.BE.D1.82.D1.80_.D0.BB.D0.BE.D0.BA.D0.B0.D0.BB.D1.8C.D0.BD.D1.8B.D1.85_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86)
    *   [5.1 Конвертирование страниц в HTML](#.D0.9A.D0.BE.D0.BD.D0.B2.D0.B5.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86_.D0.B2_HTML)
        *   [5.1.1 mandoc](#mandoc)
        *   [5.1.2 man2html](#man2html)
        *   [5.1.3 man -H](#man_-H)
        *   [5.1.4 roffit](#roffit)
    *   [5.2 Конвертирование в PDF](#.D0.9A.D0.BE.D0.BD.D0.B2.D0.B5.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B2_PDF)
*   [6 Просмотр онлайн-страниц](#.D0.9F.D1.80.D0.BE.D1.81.D0.BC.D0.BE.D1.82.D1.80_.D0.BE.D0.BD.D0.BB.D0.B0.D0.B9.D0.BD-.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86)
*   [7 Полезные страницы](#.D0.9F.D0.BE.D0.BB.D0.B5.D0.B7.D0.BD.D1.8B.D0.B5_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D1.8B)
*   [8 Смотрите также](#.D0.A1.D0.BC.D0.BE.D1.82.D1.80.D0.B8.D1.82.D0.B5_.D1.82.D0.B0.D0.BA.D0.B6.D0.B5)

## Доступ к man-страницам

Чтобы отобразить man-страницу, наберите

```
$ man *имя_страницы*

```

Все страницы разделены на несколько категорий:

1.  Основные команды
2.  Системные вызовы (функции, предоставляемые ядром linux)
3.  Библиотечные вызовы (функции стандартной библиотеки языка Си)
4.  Специальные файлы (обычно расположенные в `/dev`) и драйверы
5.  Форматы файлов и соглашения
6.  Игры
7.  Прочие страницы (также включая соглашения)
8.  Команды для системного администрирования (для которых обычно требуются права суперпользователя) и демоны

На man-страницы принято ссылаться по имени, с указанием номера категории в скобках. Часто существуют сразу несколько man-страниц с одинаковыми именами, но в разных категориях, например man(1) и man(7). В таком случае, команде man необходимо передать номер конкретной категории перед именем man-страницы, например:

```
$ man 5 passwd

```

отобразит man-страницу по файлу `/etc/passwd` вместо утилиты `passwd`.

Вместо того, чтобы отображать man-страницу целиком, вы можете вывести лишь ее краткое описание, используя команду `whatis`. Например,

```
$ whatis ls

```

выведет краткое описание команды *ls*: "list directory contents" ("отобразить содержимое каталога").

## Формат страниц

Для удобства навигации, все man-страницы соответствуют единому стандартному формату. Вот список некоторых разделов, которые часто используются на страницах:

*   NAME — имя команды и краткое однострочное описание ее назначения.
*   SYNOPSIS — список опций и аргументов командной строки, которые принимает команда, либо параметры функции и ее заголовочный файл.
*   DESCRIPTION — более подробное описание назначения и принципов работы команды или функции.
*   EXAMPLES — типовые примеры использования, обычно от самых простых к более сложным.
*   OPTIONS — описания для каждой из опций, которые принимает команда.
*   EXIT STATUS — коды возврата и их значения.
*   FILES — связанные с командой или функцией файлы.
*   BUGS — вероятные проблемы, связанные с работой команды или функции и ожидающие решения. Также известны как KNOWN BUGS.
*   SEE ALSO — список связанных команд и функций.
*   AUTHOR, HISTORY, COPYRIGHT, LICENSE, WARRANTY — информация о программе: ее история, условия использования, создатели программы.

## Поиск по страницам

Хотя команда `man` позволяет отображать man-страницы, возникает сложность, когда вы не знаете точного названия желаемой страницы. К счастью, вы можете воспользоваться опциями `-k` или `--apropos`, для поиска по ключевому слову в описаниях man-страниц.

Поиск работает только по индексированным страницам. Кеш индекса может устареть или вовсе отсутствовать, и на попытки поиска вы не будете получать ожидаемых результатов. Вы можете создать индекс или обновить его, выполнив

```
# mandb

```

Индексация страниц должна запускаться при каждом добавлении man-страниц.

Теперь вы можете воспользоваться поиском. Например, чтобы найти man-страницы, связанные с паролями ("password"), введите:

```
$ man -k password

```

или

```
$ man --apropos password

```

С тем же успехом, вы также можете воспользоваться командой `apropos`:

```
$ apropos password

```

По-умолчанию, ключевое слово интерпретируется как [регулярное выражение](https://en.wikipedia.org/wiki/ru:%D0%A0%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F "wikipedia:ru:Регулярные выражения").

Если вы хотите произвести более углубленный поиск по всему содержимому страниц, используйте опцию `-K`:

```
$ man -K password

```

## Цветные man-страницы

Текст man-страниц может отображаться в разных цветах, что упрощает их чтение. Есть два основных метода, позволяющих раскрасить страницы — с помощью утилит *less* и *most*.

### С помощью less (рекомендуется)

Преимущество этого способа в том, что less имеет более богатый набор возможностей, чем most, а также используется по умолчанию для отображения man-страниц.

Добавьте следующие строки в файл конфигурации вашей командной оболочки (для [Bash](/index.php/Bash "Bash") это файл `~/.bashrc`):

```
man() {
    env LESS_TERMCAP_mb=$'\E[01;31m' \
    LESS_TERMCAP_md=$'\E[01;38;5;74m' \
    LESS_TERMCAP_me=$'\E[0m' \
    LESS_TERMCAP_se=$'\E[0m' \
    LESS_TERMCAP_so=$'\E[38;5;246m' \
    LESS_TERMCAP_ue=$'\E[0m' \
    LESS_TERMCAP_us=$'\E[04;38;5;146m' \
    man "$@"
}

```

Выполните команды из файла, чтобы увидеть изменения:

```
# source ~/.bashrc

```

Для [Fish](/index.php/Fish "Fish") настройки будут выглядеть как-то так:

 `~/.config/fish/config.fish` 
```
set -xU LESS_TERMCAP_mb (printf "\e[01;31m")      # begin blinking
set -xU LESS_TERMCAP_md (printf "\e[01;31m")      # begin bold
set -xU LESS_TERMCAP_me (printf "\e[0m")          # end mode
set -xU LESS_TERMCAP_se (printf "\e[0m")          # end standout-mode
set -xU LESS_TERMCAP_so (printf "\e[01;44;33m")   # begin standout-mode - info box
set -xU LESS_TERMCAP_ue (printf "\e[0m")          # end underline
set -xU LESS_TERMCAP_us (printf "\e[01;32m")      # begin underline

```

Чтобы сразу увидеть изменения (без перезапуска fish или системы), выполните:

```
# source ~/.config/fish/config.fish

```

Чтобы изменить эти цвета, обратитесь к статье [Wikipedia:ru:Управляющие последовательности ANSI](https://en.wikipedia.org/wiki/ru:%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%8E%D1%89%D0%B8%D0%B5_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_ANSI "wikipedia:ru:Управляющие последовательности ANSI").

### С помощью most (не рекомендуется)

Утилита most выполняет ту же задачу, что less и *more*, но имеет меньший набор возможностей. Настройка цветов для most проще, однако требуется дополнительная настройка для того, чтобы most работал наподобие less.

[Установите](/index.php/Pacman_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.BD.D1.8B.D1.85_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.BE.D0.B2 "Pacman (Русский)") пакет [most](https://www.archlinux.org/packages/?name=most), доступный в [официальных репозиториях](/index.php/Official_repositories_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Official repositories (Русский)").

В файле `/etc/man_db.conf` раскомментируйте параметр `pager` и установите ему значение `most -s`:

```
DEFINE     pager     most -s

```

Откройте любую man-страницу для проверки.

Настройка цветов осуществляется в пользовательском файле `~/.mostrc` (нужно создать, если он отсутствует), либо в системном файле `/etc/most.conf`. Пример конфигурации:

```
% Color settings
color normal lightgray black
color status yellow blue
color underline yellow black
color overstrike brightblue black

```

Другой пример, показывающий, как настроить сочетания клавиш, подобно `less` (переход к строке назначен на клавишу `J`):

```
% less-like keybindings
unsetkey "^K"
unsetkey "g"
unsetkey "G"
unsetkey ":"

setkey next_file ":n"
setkey find_file ":e"
setkey next_file ":p"
setkey toggle_options ":o"
setkey toggle_case ":c"
setkey delete_file ":d"
setkey exit ":q"

setkey bob "g"
setkey eob "G"
setkey down "e"
setkey down "E"
setkey down "j"
setkey down "^N"
setkey up "y"
setkey up "^Y"
setkey up "k"
setkey up "^P"
setkey up "^K"
setkey page_down "f"
setkey page_down "^F"
setkey page_up "b"
setkey page_up "^B"
setkey other_window "z"
setkey other_window "w"
setkey search_backward "?"
setkey bob "p"
setkey goto_mark "'"
setkey find_file "E"
setkey edit "v"

```

### Цветные страницы в xterm или rxvt-unicode

Быстрый способ раскрасить цвета man-страниц, которые просматриваются через [xterm](https://www.archlinux.org/packages/?name=xterm) / `uxterm` или [rxvt-unicode](https://www.archlinux.org/packages/?name=rxvt-unicode), заключается в редактировании файла `~/.Xresources`.

В подразделах представлена конфигурация для xterm и rxvt-unicode.

#### xterm

```
*VT100.colorBDMode:     true
*VT100.colorBD:         red
*VT100.colorULMode:     true
*VT100.colorUL:         cyan

```

Эти настройки заменяют начертания текста цветами. Добавьте также:

```
*VT100.veryBoldColors: 6

```

если вы хотите видеть цвета и начертания одновременно. Смотрите также [xterm(1)](https://jlk.fjfi.cvut.cz/arch/manpages/man/xterm.1) для описания ресурса терминала `veryBoldColors`.

#### rxvt-unicode

Конфигурация:

```
URxvt.colorIT:      #87af5f
URxvt.colorBD:      #d7d7d7
URxvt.colorUL:      #87afd7

```

После внесения изменений в файл, выполните:

```
$ xrdb -load ~/.Xresources

```

Запустите `xterm`/`uxterm` или `rxvt-unicode` и вы должны увидеть цветные man-страницы. Эти настройки добавляют цвета для слов, написанных **полужирным** и <u>подчеркнутым</u> шрифтом в `xterm/uxterm`, и цвета для слов в **полужирном**, <u>подчеркнутом</u>, и *наклонном* начертаниях в `rxvt-unicode`. Вы можете также совмещать эти атрибуты в различные комбинации.

## Просмотр локальных страниц

Кроме утилиты man, для чтения man-страниц вы также можете использовать веб-браузер, например [lynx](https://www.archlinux.org/packages/?name=lynx) или [Firefox](/index.php/Firefox_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Firefox (Русский)"). Просмотр страниц в браузере позволяет воспользоваться основным преимуществом info-страниц — гиперссылками. Пользователи [KDE](/index.php/KDE_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "KDE (Русский)") могут читать man-страницы в Konqueror, используя URL вида:

```
man:<name>

```

Кроме того, вы можете [установить](/index.php/Pacman_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.BD.D1.8B.D1.85_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.BE.D0.B2 "Pacman (Русский)") следующие пакеты из [официальных репозиториев](/index.php/Official_repositories_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Official repositories (Русский)"):

1\. [xorg-xman](https://www.archlinux.org/packages/?name=xorg-xman) для просмотра страниц в [X](/index.php/Xorg_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Xorg (Русский)").

2\. [yelp](https://www.archlinux.org/packages/?name=yelp) — Help Browser из состава [GNOME](/index.php/GNOME_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "GNOME (Русский)").

### Конвертирование страниц в HTML

#### mandoc

Установите пакет [mandoc](https://aur.archlinux.org/packages/mandoc/). Чтобы конвертировать страницу, для примера, `free(1)`, наберите:

```
$ gunzip -c /usr/share/man/man1/free.1.gz | mandoc -Thtml -Ostyle=style.css 1> free.html

```

Получившийся файл `free.html` теперь можно открыть в любом веб-браузере.

#### man2html

Установите [man2html](https://www.archlinux.org/packages/?name=man2html) из [официальных репозиториев](/index.php/Official_repositories_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Official repositories (Русский)").

Сконвертируйте страницу командой:

```
$ man free | man2html -compress -cgiurl man$section/$title.$section$subsection.html > ~/man/free.html

```

Другая полезная функция `man2html` — экспорт в обычный текстовый файл, который можно распечатать:

```
$ man free | man2html -bare > ~/free.txt

```

#### man -H

Реализация утилиты man от GNU, также позволяет открыть страницу в веб-браузере:

```
$ man -H free

```

Команда запустит браузер, установленный в [переменной окружения](/index.php/Environment_variables_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Environment variables (Русский)") `BROWSER`. Вы можете указать браузер явно, передав путь до исполняемого файла сразу после опции `-H`.

#### roffit

Установите пакет [roffit](https://aur.archlinux.org/packages/roffit/).

Для конвертирования страницы выполните:

```
$ gunzip -c /usr/share/man/man1/free.1.gz | roffit > free.html

```

### Конвертирование в PDF

Man-страницы всегда были удобны для печати: они написаны в формате troff, который является типографским языком. Если у вас установлен *ghostscript*, конвертирование man-страниц в PDF выполнить очень просто:

```
man -t *имя_страницы* | ps2pdf - *pdf_файл*

```

По [этой ссылке](https://www.google.com/search?q=manpage+pdf+troff&num=100&hl=en&prmd=imvns&source=lnms&tbm=isch&sa=X&ei=5BZpUI3oH6rI2AXvx4CoAw&ved=0CAoQ_AUoAQ&biw=1321&bih=1100) вы можете посмотреть, как будет выглядеть получившийся PDF-документ.

Обратите внимание, что шрифты главным образом ограничены набором Times и имеют жестко заданные размеры. Документ не будет содержать гиперссылок. Некоторые man-страницы форматировались так, чтобы выглядеть хорошо в терминале, однако могут отображаться некорректно в форме PostScript или PDF-документов.

Следующий perl-скрипт конвертирует man-страницы в PDF, кэшируя файлы в каталоге `$HOME/.manpdf/`, и открывает программу для просмотра документа [mupdf](https://www.archlinux.org/packages/?name=mupdf).

 `Usage: manpdf [<section>] <manpage>` 
```
#!/usr/bin/perl
use File::stat;

$pdfdir = $ENV{"HOME"}."/.manpdf";
-d $pdfdir || mkdir $pdfdir || die "can't create $pdfdir";
$manpage = $ARGV[0];
chop($manpath = `man -w $manpage`);
die if $?;

$maninfo = stat($manpath) or die;
$manpath =~ s@.*/man./(.*)(\.(gz|bz2))?$@$1@;
$pdfpath = "$pdfdir/$manpath.pdf";
$pdftime = 0;
if (-f $pdfpath) {
    $pdfinfo = stat($pdfpath) or die;
    $pdftime = $pdfinfo->mtime;
}
if (!-f $pdfpath || $maninfo->mtime > $pdftime) {
    system "man -t $manpage | ps2pdf -dPDFSETTINGS=/screen - $pdfpath";
}
die if !-f $pdfpath;
if (!fork) {
    open(STDOUT, "/dev/null");
    open(STDERR, "/dev/null");
    exec "mupdf", "-r", "96", $pdfpath;
    #exec "acroread", $pdfpath;
}

```

## Просмотр онлайн-страниц

Существуют множество онлайн-хранилищ man-страниц; вот небольшой список:

*   [Man7.org.](http://man7.org/linux/man-pages/index.html) Первоисточник страниц для [man-pages](https://www.archlinux.org/packages/?name=man-pages).
*   [man-страницы Debian GNU/Linux](http://manpages.debian.net/)
*   [man-страницы DragonFlyBSD](http://leaf.dragonflybsd.org/cgi/web-man)
*   [man-страницы FreeBSD Hypertext](http://www.freebsd.org/cgi/man.cgi)
*   [man-страницы Linux and Solaris 10](http://www.manpages.spotlynx.com/)
*   [man-страницы Linux/FreeBSD](http://manpagehelp.net) с комментариями пользователей
*   [man-страницы на die.net](http://linux.die.net/man/)
*   [man-страницы на kernel.org](http://www.kernel.org/doc/man-pages/)
*   [man-страницы NetBSD](http://netbsd.gw.com/cgi-bin/man-cgi)
*   [man-страницы Mac OS X](http://developer.apple.com/documentation/Darwin/Reference/ManPages/index.html)
*   [man-страницы UNIX](http://unixhelp.ed.ac.uk/alphabetical/index.html)
*   [man-страницы OpenBSD](http://www.openbsd.org/cgi-bin/man.cgi)
*   [Руководство Plan 9 — Том 1](http://man.cat-v.org/plan_9/)
*   [Руководство Inferno — Том 1](http://man.cat-v.org/inferno/)
*   [man-страницы Storage Foundation](http://sfdoccentral.symantec.com/sf/5.0MP3/linux/manpages/index.html)
*   [man-страницы форума The UNIX and Linux Forums](http://www.unix.com/man-page/OpenSolaris/1/man/)
*   [репозиторий man-страниц Ubuntu](http://manpages.ubuntu.com/)

**Важно:** Некоторые дистрибутивы Linux предоставляют исправленные или устаревшие man-страницы, которые могут отличаться от тех, которые поставляются с пакетами Arch Linux. Имейте это в виду, просматривая man-страницы онлайн.

## Полезные страницы

Здесь приведен небольшой список полезных man-страниц, которые могут помочь вам получить более углубленные знания о множестве полезных вещей. Некоторые из них могут служить хорошими справочниками (например, таблица ASCII).

*   ascii(7)
*   boot(7)
*   charsets(7)
*   chmod(1)
*   credentials(7)
*   fstab(5)
*   hier(7)
*   systemd(1)
*   locale(1P)(5)(7)
*   printf(3)
*   proc(5)
*   regex(7)
*   signal(7)
*   term(5)(7)
*   termcap(5)
*   terminfo(5)
*   utf-8(7)

Вам могут быть интересны также и другие страницы седьмой категории:

```
$ man -s 7 -k ".*"

```

А также страницы, относящиеся непосредственно к Arch Linux:

*   archlinux(7)
*   mkinitcpio(8)
*   pacman(8)
*   pacman-key(8)
*   pacman.conf(5)

## Смотрите также

*   [Основные рекомендации](/index.php/General_recommendations_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "General recommendations (Русский)") — Основные рекомендации по Arch Linux.
*   [Man page](http://wiki.gentoo.org/wiki/Man_page) — статья на Gentoo wiki.